/** Definition of the DataBool class.
 * @file 
 * @author Jeremy Schultz
 */

#ifndef	__DATABOOL_H_
#define	__DATABOOL_H_

#include <string>
#include <sstream>
#include <vector>
#include "WordData.h"

#define DATABOOL	static_cast<DataBool*>

using namespace std;

/** Provide support for a Numbers in WordData.
 */
class DataBool : public WordData	{
	private:
		bool value;		/**< Stores the boolean value */
		int size;		/**< Size of the Array, if not an array then 0 */

	public:
		/** Constructor.
		 */
		DataBool();

		/** Constructor.
		 * @param _value The value of the boolean
		 */
		DataBool(bool _value);

		/** Constructor.
		 * @param _size The size of the boolean Array
		 */
		DataBool(int _size);

		/** Getter - value.
		 * @return The value of the boolean
		 */
		bool Value();

		/** Setter - value.
		 * @param _value	Set the value to this Boolean
		 */
		void setValue(bool _value);

		/** Getter - Size.
		 * @return The size of the boolean Array
		 */
		int Size();
	

		/** A String representation of DataBool.
		 * @return A string
		 * The string format will be: <br>
		 *  type: <i>int</i> value: <i>bool</i> size: <i>int</i>
		 */
		string toString();
};
#endif


